home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
compile_to_jvm24.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
4KB
|
167 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "compile_to_jvm.h"
void r308make_effective_routine(T308* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
r308make_routine(C,a1,a2,a3,a4,a5);
C->_local_vars=a6;
C->_routine_body=a7;
C->_use_current_state=25;
}
void r308warning(T0* a1,T0* a2){
r21add_position(a1);
r21warning((T21*)(oBC12eh),a2);
}
T0* r308try_to_undefine_aux(T308* C,T0* a1,T0* a2){
T0* R=NULL;
{T292*n=malloc(sizeof(*n));
*n=M292;
r292from_effective(n,a1,(C)->_arguments/*24*/,(C)->_result_type/*56*/,(C)->_require_assertion/*32*/,(C)->_ensure_assertion/*36*/,a2);
R=(T0*)n;
}
return R;
}
/*No:FUNCTION.set_ensure_assertion*/
/*No:FUNCTION.fz_bad_assertion*/
/*No:FUNCTION.fz_dot*/
void r308error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r308make(T308* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7,T0* a8){
r308make_effective_routine(C,a1,a2,a4,a5,a6,a7,a8);
C->_result_type=a3;
}
/*No:FUNCTION.routine_body*/
/*No:FUNCTION.end_comment*/
void r308collect_for(T308* C,T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=(C)->_require_assertion/*32*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r365fast_has((T365*)(oBC95require_collector),_er))){
r365add_last((T365*)(oBC95require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
if(((C)->_ensure_assertion/*36*/)!=((void*)(NULL))){
/*[IRF3.3set_item*/((((T364*)((T364*)(oBC95header_comment_memory))))->_item)=(((T219*)((C)->_ensure_assertion/*36*/))->_header_comment/*4*/);
/*]*/
r219add_into((T219*)((C)->_ensure_assertion/*36*/),oBC95assertion_collector);
}
/*FI]*/
}
/*FI]*/
}
/*No:FUNCTION.local_vars*/
void r308set_header_comment(T308* C,T0* a1){
/*[IF*/
if(((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)>(1))){
C->_end_comment=a1;
}
/*FI]*/
}
/*No:FUNCTION.clients*/
/*No:FUNCTION.obsolete_mark*/
void r360fill_up(T360* C){
T2 _i=0;
T0* _rf=NULL;
T0* _fn=NULL;
T0* _fna=NULL;
T0* _rta=NULL;
T0* _t=NULL;
/*[IF*/
if((((T76*)(oBC12run_control))->_cecil_path/*20*/)!=((void*)(NULL))){
{T55*n=malloc(sizeof(*n));
*n=M55;
r55with_capacity(n,4);
C->_user_cecil_list=(T0*)n;
}
{T68*n=malloc(sizeof(*n));
*n=M68;
r68with_capacity(n,4);
C->_user_cecil_name=(T0*)n;
}
C->_user_path_h=r71connect_to_cecil((T71*)(oBC12eiffel_parser));
{T361*n=malloc(sizeof(*n));
*n=M361;
r361with_capacity(n,4);
_rta=(T0*)n;
}
{T88*n=malloc(sizeof(*n));
*n=M88;
r88with_capacity(n,4);
_fna=(T0*)n;
}
while (!(r71end_of_input((T71*)(oBC12eiffel_parser)))) {
r68add_last((T68*)((C)->_user_cecil_name/*4*/),r71parse_c_name((T71*)(oBC12eiffel_parser)));
X361add_last(_rta,r71parse_run_type((T71*)(oBC12eiffel_parser)));
r88add_last(((T88*)_fna),r71parse_feature_name((T71*)(oBC12eiffel_parser)));
}
r71disconnect((T71*)(oBC12eiffel_parser));
r31put_string((T31*)(oBC12echo),((T0*)ms360_17856));
_i=0;
while (!((_i)>(/*X361upper*/((T2)(((T361*)_rta))->_upper/*12*/)))) {
_t=X52to_runnable(/*X361item*/((T0*)r361item(((T361*)_rta),_i)),r360type_any());
_fn=/*(IRF4.6item*/((((T88*)_fna))->_storage/*0*/)[_i]/*)*/;
_rf=r23get_feature((T23*)(X52run_class(_t)),_fn);
/*[IF*/
if((_rf)==((void*)(NULL))){
r21add_position(X50start_position(_fn));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms360_103698);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
X55add_last((C)->_user_cecil_list/*0*/,_rf);
r335update_with(_rf);
_i=(_i)+(1);
}
}
/*FI]*/
}
T0* r360type_any(void){
if(fBC12type_any==0){
fBC12type_any=1;
{T263*n=malloc(sizeof(*n));
*n=M263;
r263make(n,NULL);
oBC12type_any=(T0*)n;
}
}
return oBC12type_any;}
/*No:CECIL_POOL.user_cecil_name*/
/*No:CECIL_POOL.user_path_h*/
/*No:CECIL_POOL.user_cecil_list*/
/*No:CECIL_POOL.fatal_error*/